-
-
Notifications
You must be signed in to change notification settings - Fork 33.9k
GH-143941: Move WASI-related files to Platforms/WASI #143942
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
Along the way, leave a deprecated Tools/wasm/wasi/__main__.py behind for backwards-compatibility.
zware
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM with a CODEOWNERS nit and a future archaeology suggestion. Note that I didn't really actually review any changes in __main__.py since it's completely recreated.
Co-authored-by: Zachary Ware <[email protected]>
StanFromIreland
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can you please update:
cpython/Tools/build/compute-changes.py
Line 53 in bb25f72
| WASI_DIRS = frozenset({Path("Tools", "wasm")}) |
Misc/NEWS.d/next/Build/2026-01-16-14-27-53.gh-issue-143941.TiaE-3.rst
Outdated
Show resolved
Hide resolved
freakboy3742
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This set of changes all makes sense to me.
The only concern I have is related to the integration with buildbots. As a result of this change, the buildbot will be invoking the deprecated entry point. That's fine for initial continuity of compatibility, but it strikes me as fragile in the long term.
However, AIUI, the buildbot doesn't have the ability to be configured for PR configurations on a per-branch basis (i.e., it's not possible to do a PR build with knowledge that it's a PR against a 3.X branch, and adjust rules accordingly). That means:
- it's not possible to fully deprecate the old endpoint until the oldest supported Python version has the new entry point
- it's not possible to use any new feature of the entry point until such time as the old entry point has been deprecated.
The second point in particular is currently causing headaches for me with both Emscripten and iOS builds.
This doesn't have to block margin this PR; but this is a limitation that we'll need to address sooner rather than later, especially if we're planning to do this sort of migration for the Android, iOS, Apple and Tools/wasm/emscripten folders.
|
It might be a little awkward, but couldn't we make the buildbot run a short script that checks for the existence of certain paths in the repository and adapts accordingly? |
|
We can do per-branch configuration on the buildbots, it's just not pretty :) |
There's a reason I set the stated deprecation until 3.15 is EOL. 😅 I do have a note to clean it up once 3.20 comes out.
That was true before, though.
Something like https://github.com/python/buildmaster-config/blob/48d410a498ed40d2ff4b76cca9d6c822f72c31e9/master/custom/factories.py#L910 ?
You can do per-version if you set up distinct workers per version. |
webknjaz
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The CI changes look fine. I only noticed one outdated reference to the old folder.
|
[@zware]
Oh! TIL - I've had a couple of conversations with people about this and everyone said it wasn't possible and needed fixes in buildbot itself... clearly I was asking the wrong people (or the wrong questions :-) ) |
|
Even without any special support from the buildbot configuration system, we can always write commands as shell scripts like this:
|
Along the way, leave a deprecated Tools/wasm/wasi/main.py behind for backwards-compatibility.
Platforms/WASI#143941